package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单 对象 t_orders
 * 
 * @author ruoyi
 * @date 2022-04-09
 */
public class TOrders extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单号 */
    private String orderId;

    /** 订单类型 1报名比赛2报名培训3报名俱乐部活动4预约场地5预约教练6比赛队伍报名

10 充值服务 */
    @Excel(name = "订单类型 1报名比赛2报名培训3报名俱乐部活动4预约场地5预约教练6比赛队伍报名 10 充值服务")
    private Integer orderType;

    /** 报名类型0为报名 1为体验 */
    @Excel(name = "报名类型0为报名 1为体验")
    private Integer applyType;

    /** 活动id */
    @Excel(name = "活动id")
    private String actvtId;

    /** 活动所有者id */
    @Excel(name = "活动所有者id")
    private String actvtOwnerId;

    /** 机构id / 队伍id */
    @Excel(name = "机构id / 队伍id")
    private String orgId;

    /** 机构类型 4为队伍报名 */
    @Excel(name = "机构类型 4为队伍报名")
    private Long orgType;

    /** user_id */
    @Excel(name = "user_id")
    private String payerId;

    /** 订单手机号 */
    @Excel(name = "订单手机号")
    private String payerPhone;

    /** 支付单价 */
    @Excel(name = "支付单价")
    private BigDecimal unitPrice;

    /** 支付数量 */
    @Excel(name = "支付数量")
    private Integer unitCount;

    /** 总金额=单价*数量 */
    @Excel(name = "总金额=单价*数量")
    private BigDecimal totalFeePaid;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paiedTime;

    /** 付款方式 0为余额扣款；1为微信支付 ； */
    @Excel(name = "付款方式 0为余额扣款；1为微信支付 ；")
    private String paiedWay;

    /** 是否是分期付款 0为否 1为是 */
    @Excel(name = "是否是分期付款 0为否 1为是")
    private String isPbiTag;

    /** 订单备注 */
    @Excel(name = "订单备注")
    private String remarks;

    /** 状态 */
    @Excel(name = "状态")
    private Integer status;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Integer deleteFlag;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    //订单明细
    private List<TOrdersItems> tOrdersItemsList;

    public List<TOrdersItems> gettOrdersItemsList() {
        return tOrdersItemsList;
    }

    public void settOrdersItemsList(List<TOrdersItems> tOrdersItemsList) {
        this.tOrdersItemsList = tOrdersItemsList;
    }

    public void setOrderId(String orderId)
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setOrderType(Integer orderType) 
    {
        this.orderType = orderType;
    }

    public Integer getOrderType() 
    {
        return orderType;
    }
    public void setApplyType(Integer applyType) 
    {
        this.applyType = applyType;
    }

    public Integer getApplyType() 
    {
        return applyType;
    }
    public void setActvtId(String actvtId) 
    {
        this.actvtId = actvtId;
    }

    public String getActvtId() 
    {
        return actvtId;
    }
    public void setActvtOwnerId(String actvtOwnerId) 
    {
        this.actvtOwnerId = actvtOwnerId;
    }

    public String getActvtOwnerId() 
    {
        return actvtOwnerId;
    }
    public void setOrgId(String orgId) 
    {
        this.orgId = orgId;
    }

    public String getOrgId() 
    {
        return orgId;
    }
    public void setOrgType(Long orgType) 
    {
        this.orgType = orgType;
    }

    public Long getOrgType() 
    {
        return orgType;
    }
    public void setPayerId(String payerId) 
    {
        this.payerId = payerId;
    }

    public String getPayerId() 
    {
        return payerId;
    }
    public void setPayerPhone(String payerPhone) 
    {
        this.payerPhone = payerPhone;
    }

    public String getPayerPhone() 
    {
        return payerPhone;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setUnitCount(Integer unitCount) 
    {
        this.unitCount = unitCount;
    }

    public Integer getUnitCount() 
    {
        return unitCount;
    }
    public void setTotalFeePaid(BigDecimal totalFeePaid) 
    {
        this.totalFeePaid = totalFeePaid;
    }

    public BigDecimal getTotalFeePaid() 
    {
        return totalFeePaid;
    }
    public void setPaiedTime(Date paiedTime) 
    {
        this.paiedTime = paiedTime;
    }

    public Date getPaiedTime() 
    {
        return paiedTime;
    }
    public void setPaiedWay(String paiedWay) 
    {
        this.paiedWay = paiedWay;
    }

    public String getPaiedWay() 
    {
        return paiedWay;
    }
    public void setIsPbiTag(String isPbiTag) 
    {
        this.isPbiTag = isPbiTag;
    }

    public String getIsPbiTag() 
    {
        return isPbiTag;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setDeleteFlag(Integer deleteFlag) 
    {
        this.deleteFlag = deleteFlag;
    }

    public Integer getDeleteFlag() 
    {
        return deleteFlag;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderType", getOrderType())
            .append("applyType", getApplyType())
            .append("actvtId", getActvtId())
            .append("actvtOwnerId", getActvtOwnerId())
            .append("orgId", getOrgId())
            .append("orgType", getOrgType())
            .append("payerId", getPayerId())
            .append("payerPhone", getPayerPhone())
            .append("unitPrice", getUnitPrice())
            .append("unitCount", getUnitCount())
            .append("totalFeePaid", getTotalFeePaid())
            .append("paiedTime", getPaiedTime())
            .append("paiedWay", getPaiedWay())
            .append("isPbiTag", getIsPbiTag())
            .append("remarks", getRemarks())
            .append("status", getStatus())
            .append("deleteFlag", getDeleteFlag())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .toString();
    }
}
